package listeners;

import interface_grafica.TelaConsultaDoacao;
import interface_grafica.TelaConsultaProjetos;
import interface_grafica.TelaConsultaSocio;
import interface_grafica.TelaEdicaoDoacao;
import interface_grafica.TelaEdicaoSocio;
import interface_grafica.TelaPrincipal;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import banco.Queries;


public class ListenersTelaConsultaDoacao implements ActionListener, ListSelectionListener{

	@Override
public void actionPerformed(ActionEvent e) {
		TelaConsultaDoacao tela = TelaConsultaDoacao.getInstance();

	    tela.getTabelaDoacoes().getSelectionModel().addListSelectionListener(new ListSelectionListener() {  
	        public void valueChanged(ListSelectionEvent e) {  
	              if (!e.getValueIsAdjusting()) {
	            	  JOptionPane.showMessageDialog(null, "TESTE");
	              }
	        }
	       });	
   
   		
}//actionPerformed	 
	
	@Override
	public void valueChanged(ListSelectionEvent e) {
		TelaConsultaDoacao tela = TelaConsultaDoacao.getInstance();
		
		ListSelectionModel model = tela.getTabelaDoacoes().getSelectionModel();  
        int lead = model.getLeadSelectionIndex();  
        displayRowValues(lead); 
	}      
    
	private void displayRowValues(int rowIndex){ 
        	TelaConsultaDoacao tela = TelaConsultaDoacao.getInstance();
            int columns = tela.getTabelaDoacoes().getColumnCount();  
            
            String id="";
            String nome="";
            String datadoacao="";
            String quantidade="";
            Object o = null;
            for(int col = 0; col < columns; col++)  
            {  
                o = tela.getTabelaDoacoes().getValueAt(rowIndex, col); 
                
                String aux[] = new String[4];
                aux[col] = o.toString();
                
                if(aux[0] != null){
                	id = aux[0];
                }
                if(aux[1]!= null){
                	nome = aux[1];
                }
                if(aux[2]!= null){
                	datadoacao = aux[2];
                }
                if(aux[3]!= null){
                    quantidade = aux[3];
                }        
            } 
            
            
            Queries query =  new Queries();
            
            String tabela = "material";
            String condicao = "nome = '"+nome+"' AND codmaterial='"+id+"' AND datadoacao='"+datadoacao+"' AND quantidade='"+quantidade+"'";
            
            try {
            	
            	ResultSet rs = 	query.consultar(tabela, condicao);
            	
            	while(rs.next()){            	
            	
            	String datavalidade = rs.getString("datavalidade");
    			String nomedoador =rs.getString("nomedoador");
    			String largura = rs.getString("largura");
    			String altura = rs.getString("altura");
    			String comprimento = rs.getString("comprimento"); 
    			String composicao = rs.getString("composicao");
    			String volume = rs.getString("volume");
    			String peso = rs.getString("peso"); 			
    					
    			
    			TelaEdicaoDoacao tela2  = TelaEdicaoDoacao.getInstance();
    			
    			tela2.setNomeDoacao(nome);
    			tela2.setIdDoacao(id);
    			tela2.setDataDoacao(datadoacao);
    			tela2.setQuantidadeDoacao(quantidade);
    			tela2.setDataValidadeDoacao(datavalidade);
    			tela2.setNomeDoador(nomedoador);
    			tela2.setLarguraDoacao(largura);
    			tela2.setLarguraDoacao(altura);
    			tela2.setLarguraDoacao(comprimento);
    			tela2.setLarguraDoacao(composicao);
    			tela2.setLarguraDoacao(volume);
    			tela2.setLarguraDoacao(peso);
   			
    			TelaPrincipal frame = TelaPrincipal.getInstance();
    			
    			tela2.setBounds(10, 11, 1063, 557);
    			frame.getPanel().removeAll();
    		    frame.getPanel().add(tela2);
    		    frame.repaint();
    		    frame.validate();
    	           	
             }
            	rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}		
	}
	 
}